package com.bombitarodriguez.dominio.obstaculosYArticulos;

import java.io.IOException;

import com.bombitarodriguez.dominio.Juego;
import com.bombitarodriguez.dominio.Mapa;
import com.bombitarodriguez.interfaces.ObjetoReaccionable;
import com.bombitarodriguez.vista.VistaBloqueLadrillo;

/**
 * 
 * @author Mauro
 *
 */
public class BloqueLadrillo extends Obstaculo {
	public BloqueLadrillo(){
		try {
			miVista = new VistaBloqueLadrillo(this);
		} catch (IOException e) {
			e.printStackTrace();
		}
		this.objeto = null;
		this.durabilidad = Juego.DURABILIDAD_BLOQUE_LADRILLO;
	}

	public BloqueLadrillo(ObjetoReaccionable objeto) {
		try {
			miVista = new VistaBloqueLadrillo(this);
		} catch (IOException e) {
			e.printStackTrace();
		}
		this.objeto = objeto;
		this.durabilidad = Juego.DURABILIDAD_BLOQUE_LADRILLO;
	}
	
	public void destruirse() {
		Mapa.quitarDibujable(this);
		if(objeto != null){
			casilleroContenedor.agregarObjeto(objeto);
			Mapa.agregarDibujable(objeto);
		}
		quitarObjeto();
		casilleroContenedor.quitarObjeto(this);
	}
	
	/**
	 * El obstaculo pasa a contener el objeto recibido por 
	 * parametro
	 * @param objeto
	 */
	public void agregarObjeto(ObjetoReaccionable objeto) {
		this.objeto = objeto;
	}
	
	/**
	 * Desvincula el objeto que contiene el obstaculo
	 */
	public void quitarObjeto() {
		objeto = null;	
	}
}
